Skip to content
On this page

总结

  • vim 中使用 :vs<文件路径> 左右分割窗口
  • vim 中使用 :sp<文件路径> 上下分割窗口
  • 在命令行窗口直接使用 vim -o <文件路径1> <文件路径2>
  • <ctrl-w>jkhl 结合即可上下左右切换窗口
  • .vimrc 配置
    • let mapleader=",": 设置自定义快捷键触发键为 ,
    • nmap <快捷键> <执行的操作>: 设置 normal mode 时的快捷键 <leader> 作为变量,会替换为上面设置的 mapleader ,而 <cr> 代表回车。
    • set noswapfile: 不产生交换文件(当打开一个文件未正常关闭时会产生交换文件)
    • set tabstop=2: 设置制表符为 2 宽度
    • set expandtab: 制表符用空格替代
    • set smarttab: 在行和段开始处使用制表符
    • set shiftwidth=2: 程序中自动缩进所使用的空白长度

提问

  • [x] 1. 如何不使 vim 产生交换文件

    .vimrc 中设置 set noswapfile

  • [x] 2. leader 键有什么作用

    自定义按键的触发键

1. 前提提要、场景

vim 在启动的时候会去加载 .vimrc(rc 意思是 run command),可以根据个人喜好去配置自己的 vim,包括快捷键、编写风格、更多的功能插件等等。

Github 上也有许多受欢迎的 .vimrc 配置

本章的命令建议单独开命令行窗口,不要在 vscode 的命令行窗口执行,有快捷键冲突。

2. leader 自定义快捷键触发键

通过 leader 可配置诸多自定义的快捷键,我们一般先按下 <leader> 键,再按自定义键就可以完成快捷键操作。

编辑 ~/.vimrc,添加以下内容,表示 ,<leader> 键。

sh
let mapleader=","

3. map/nmap 自定义快捷键

vim 中可通过 <leader>nmap / map 自定义快捷键
nmap 代表 normal mode 下的快捷键映射。

.vimrc 中使用 " 作为注释。nmap 的使用方法为: nmap <快捷键> <执行的操作>
<leader> 作为变量,会替换为上面设置的 mapleader ,而 <cr> 代表回车。

sh
" ,w:快速保存
nmap <leader>w :w!<cr>

" 配置 Y  D/C 一样可以从当前字符复制
nmap Y y$;

vim 中也可以打开多个窗口,

  • vim 中使用 :vs<文件路径> 左右分割窗口
  • vim 中使用 :sp<文件路径> 上下分割窗口
  • 在命令行窗口直接使用 vim -o <文件路径1> <文件路径2>

通过 <ctrl-w>jkhl 结合即可上下左右切换窗口,此时也可以通过快捷键简化操作。

sh
" 快速切换窗口
map <C-j> <C-W>j
map <C-k> <C-W>k
map <C-h> <C-W>h
map <C-l> <C-W>l

4. swapfile 交换文件

当打开一个文件未正常关闭时会产生交换文件。可以把这个选项关闭

sh
" 不产生交换文件(当打开一个文件未正常关闭时会产生交换文件)
set noswapfile

5. tab/space 制表符和空格配置

sh
" 表符和空格配置
set tabstop=2 " 设置制表符为 2 宽度
set expandtab " 制表符用空格替代
set smarttab " 在行和段开始处使用制表符
set shiftwidth=2 " 程序中自动缩进所使用的空白长度